با عرضه نسخه نهايي ويژوال استوديو 2012 و همين‌طور دات نت نسخه 5‌/‌4، مايكروسافت نسخه 4 از كتابخانه معروف ASP.NET MVC را ارائه كرد. اين كتابخانه را ـ كه روز به روز با سرعت بيشتري نسبت به هسته اصلي ASP.NET در حال رشد است ـ مي‌توان آينده مايكروسافت براي توسعه‌دهند‌گان وب دانست. خيلي از برنامه‌نويسان و توسعه‌دهند‌گان نرم‌افزارهاي تحت وب، اين كتابخانه را جايگزين ASP.NET كرده‌اند و وب‌سايت‌هاي خود را روي اين كتابخانه پياده كرده‌اند. يكي از بزرگ‌ترين وب‌سايت‌هايي كه با اين كتابخانه توسعه داده شده وب‌سايت stackoverflow.com است.اما هر محصول جديد قطعا مزايايي نسبت به نسخه‌هاي قبلي خود دارد. در اين شماره قصد داريم اين مزيت‌ها را نسبت به نسخه‌هاي قبلي بررسي كرده و با آنها بيشتر آشنا شويم.

Minification (كوچك‌سازي)

تمام فايل‌هاي CSS و JS كه به‌صورت پيش‌فرض به پروژه‌هاي ASP.NET MVC‌ اضافه مي‌شد، بهينه شده‌ و تمام خطوط اضافه و نظرات برنامه‌نويسان اين فايل‌ها حذف شده‌ است و علاوه بر اين، نام متغير‌ها نيز كوچك شده‌ است تا يك نسخه سبك از آنها ارائه شود. با اين‌كار شما ديگر نگران جابه‌جايي حجم زيادي از اطلاعات با سرور خود نخواهيد بود.

Bundling (متمركزسازي)

ممكن است شما چند فايل CSS براي پروژه خود تعريف كنيد. براي مثال، يكي براي محتوا و reset و ديگري براي layout خود و به‌وسيله Bundling، تمام فايل‌هاي CSS‌ خود را در يك فايل داشته باشيد. خود ASP.NET MVC براساس قرارداد نامي مشخص، آنها را به ترتيب در يك فايل قرار مي‌دهد؛ مثلا reset هميشه اولين CSS‌ در فايل حاصل خواهد بود.

Mobile

در نسخه ۳ هم شما مي‌توانستيد با تغيير در CSS و JS در وب‌سايت خود كاري كنيد كه در مرورگرهاي موبايل بدرستي نمايش داده شود؛ اما در اين نسخه مايكروسافت اين ويژگي را به صورت داخلي در ASP.NET MVC‌ گنجانده است و با استفاده از jQuery Mobile مي‌توانيد وب‌سايت براي موبايل ايجاد كنيد. Project Template هنگام ايجاد يك پروژه جديد MVC‌ وجود دارد و خود ASP.NET MVC‌ وظيفه رندركردن و ايجاد فايل‌هاي مورد نياز براي اين‌كه يك وب‌سايت را به همان صورت كه در رايانه شخصي انجام مي‌دهد در موبايل و با توجه به اندازه آن رندر مي‌كند.

Project template

پروژه‌هاي جديد در اين نسخه نسبت به نسخه قبلي، از قالب‌هاي بيشتري براي توسعه برنامه‌ها برخوردار است. شما براحتي مي‌توانيد پروژه‌هاي خود را با آن اجرا و از آن استفاده كنيد. به‌طور مثال، استفاده بيشتر از AJAX و OAuth در پروژه‌هاي جديد و همان‌طور كه در بالا توضيح داده شد، قالبي براي اجراي پروژه‌هاي موبايل. تمام تغييراتي كه در بالا توضيح داده شد، تغييرات در لايه بيروني ASP.NET MVC بود، اما در پشت پرده نيز اتفاقات ديگري افتاده است.

Web API

همان‌گونه كه در شماره‌هاي پيش در مورد Web API و ايجاد وب سرويس‌ها‌ي مبتني بر RESTful توضيح داديم Web API نسبت به WCF خيلي راحت‌تر و سريع‌تر شده ‌است. از آنجا كه معماري آن بر پايه MVC‌ بنا نهاده شده براي كساني كه پيش از اين با ASP.NET MVC كار كرده‌اند پيچيدگي خاصي ندارد. هسته اصلي Web API يا همان ApiController مي‌تواند با بازگرداندن يك شيء« IQueryable«T مانند سرويس‌هايي كه پيش از اين با استفاده از OData پياده مي‌شد، استفاده شود.

Async (غير هم‌روند)

اين ويژگي به شما امكان اجراي غيرهمروند يك اكشن را در ASP.NET MVC‌ مي‌دهد و مي‌تواند براي كارهاي بزرگ و زماني كه تراكنش با سرور و بانك اطلاعاتي زياد است، مورد استفاده قرار گيرد. در اين حالت شما به معرفي دو متد براي اين‌كار نياز داشتيد، دقيقا مانند همان چيزي كه Asynchronous Programming در ويندوز وجود دارد. يك متد شما كاري كه نياز به پردازش بيشتر دارد در Thread Pool قرار مي‌گيرد تا به نوبت اجرا شود، سپس داده‌هاي خود را به تابع ديگر مي‌دهد تا وظيفه خود را براي نمايش اطلاعات و ارسال آن به بخش View را به عهده ‌گيرد. اما در نسخه جديد با توجه به توسعه ويژگي جديد به زبان # C و VB.NET به نام Asynchronous ، تعريف دو متد حذف شد و به جاي آن از ويژگي Asynchronous استفاده مي‌شود. به كد زير دقت كنيد:

public async Task«ActionResult» Index(string city) {    var newsService = new NewsService();    var sportsService = new SportsService();

return View("Common",

new PortalViewModel {

NewsHeadlines = await newsService.GetHeadlinesAsync(),

SportsScores = await sportsService.GetScoresAsync()

    });}





تاريخ : چهار شنبه 15 آذر 1391برچسب:, | | نویسنده : مقدم |